#

| Chapter 30 vi Tips and Tricks |

## 30.6 Local Settings for vi and ex

In addition to reading the .exrc file in your home directory (4.9), many versions of vi will read a file called .exrc in the current directory. This allows you to set options that are appropriate to a particular project.

For example, you might want to have one set of options in a directory mainly used for programming:

>     set number lisp autoindent sw=4 terse
>     set tags=/usr/lib/tags

and another set of options in a directory used for text editing:

>     set wrapmargin=15 ignorecase

Note that you can set certain options in the .exrc file in your home directory and unset them (for example, `set wrapmargin=0 noignorecase`) in a local directory.

> NOTE: In System V, Release 3.2 and later, vi doesn't read &.exrc files in the current directory unless you first set the `exrc` option in your home directory's .exrc file:

> >     set exrc

> This mechanism makes it harder for other people to place, in your working directory, an .exrc file whose commands might jeopardize the security of your system.

You can also define alternate vi environments by saving option settings in a file other than .exrc and reading in that file with the `:so` command. For example:

>     &:so .progoptions

Local .exrc files are also useful for defining abbreviations (30.31) and key mappings (31.2). When we write a book or manual, we save all abbreviations to be used in that book in an .exrc file in the directory in which the book is being created.

You can also store settings and startup commands for vi and ex in an environment variable (6.1) called EXINIT (30.35). If there is a conflict between settings in EXINIT and an .exrc file, EXINIT settings take precedence.

- TOR from O'Reilly & Associates' Learning the vi Editor, Chapter 7

30.5 Edits Between Files |  | 30.7 Using Buffers to Move or Copy Text